/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.secretaria.saude.negocio.impl;

import com.secretaria.saude.dominio.Usuario;
import com.secretaria.saude.negocio.UsuarioService;
import com.secretaria.saude.negocio.base.impl.DefaultServiceImpl;
import javax.persistence.EntityManager;
import javax.persistence.Query;

/**
 *
 * @author pablo
 */
public class UsuarioServiceImpl extends DefaultServiceImpl<Usuario, Long> implements UsuarioService {
    
    public UsuarioServiceImpl(EntityManager em) {
        super(em, Usuario.class);
    }
    
    public boolean verificarSenha(String login, String senha) {
        
        boolean existeLogin = contarLogin(login) > 0;
        
        if(!existeLogin) return false;
        
        String queryString = "Select senha FROM Usuario where login like :login";
        Query query = entityManager.createQuery(queryString);
        query.setParameter("login", login);
        String senhaUsuario = (String) query.getSingleResult();
        
        return senha.equals(senhaUsuario);
    }

    
    public long contarLogin(String login) {
        String queryString = "Select count(*) FROM Usuario where login like :login";
        Query query = entityManager.createQuery(queryString);
        query.setParameter("login", login);
        return (Long) query.getSingleResult();
    }

    public Usuario getUsuario(String login) {
        
        String queryString = " FROM Usuario u where u.login like :login";
        Query query = entityManager.createQuery(queryString);
        query.setParameter("login", login);
        return (Usuario) query.getSingleResult();
    }
 
    
}
